# sed 常用命令


## 替换操作

### 全部替换
$ sed 's/regex/repl/g' a.txt

### 使用分组
#: `\1`表示引用第一个分组,
#: `\U`表示转换成大写
$ sed 's/\(lower\)/\U\1/' a.txt

### 在指定行替换
#: `$`表示最后一行
$ sed '1,3s/regex/repl/g' a.txt
$ sed '1,$s/regex/repl/g' a.txt

### 忽略大小写
$ sed 's/RegEx/regex/i' a.txt



## 打印操作

### 打印指定行
$ sed -n '3p' a.txt
$ sed -n '1,3p' a.txt

### 打印匹配的行
$ sed -n '/^start/p' a.txt



## 删除行操作

### 删除指定行
$ sed '3d' a.txt
$ sed '/^delete/d' a.txt

### 指定正则的分隔符
$ sed '\#^delete#d' a.txt


## 插入操作

### 在行前插入
$ sed '3i three' a.txt
$ sed '/^start/i before' a.txt

### 在行后插入
$ sed '3a four' a.txt
$ sed '/^start/a after' a.txt



## MISC

### 多个操作
#: 使用多个`-e`
$ sed -e '1d' -e '3d' a.txt

